Semantics of a purely quantum programming language
نویسندگان
چکیده
Quantum algorithm is the key to dig the potential power of quantum computing and make quantum computation more efficient than its classical analogue. However, present methods of designing quantum algorithms are too tricky and lack of systematic development. The aim of quantum programming languages is to deal with this problem and try to provide a high-level and unifying description and treatment of quantum algorithms. There are two equivalent ways to view classical programs: state transformers which map input states into output states, and predicate transformers which map postconditions into weakest preconditions. In this paper, we prove an analogous result for quantum programming. We show that quantum programs can be treated as either super-operators on density matrices or healthy transformers on quantum predicates. This result gives a complete characterization of physically realizable quantum programs in terms of healthy quantum predicate transformers. We propose a simple programming language which is a purely quantum fragment describing the quantum part of a future quantum computer in Knill’s architecture. The denotational semantics, weakest precondition semantics, and weakest liberal precondition semantics of this purely quantum language are introduced. Furthermore, the connections between these three semantics are also examined. To help reason about quantum programs involving quantum loops, we extend all existing proof rules for loops in classical probabilistic programs to the case of our purely quantum language.
منابع مشابه
Proof rules for purely quantum programs
We apply the notion of quantum predicate proposed by D’Hondt and Panangaden to analyze a purely quantum language fragment which describes the quantum part of a future quantum computer in Knill’s architecture. The denotational semantics, weakest precondition semantics, and weakest liberal precondition semantics of this language fragment are introduced. To help reasoning about quantum programs in...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملDelimiting the Scope of Eeects
Program fragments in functional languages may be observationally congruent in a language without eeects (continuations, state, exceptions) but not in an extension with eeects. We give a generic way to preserve pure functional congruences by means of an eeects delimiter. The eeects delimiter is deened semantically using the retraction techniques of 14], but can also be given an operational seman...
متن کاملCategorical Semantics for a Quantum Language∗
We prove a correspondence theorem for a quantum programming language in an axiomatic (categorical) setting. We present a simple whilebased programming language for a machine that has access to Quantum Systems (in particular a system of qubits) and the relevant operations on them. We give (coinciding) operational and denotational semantics for this language at a concrete level (Hilbert spaces an...
متن کاملA Functional Logic Language Based on Higher Order Narrowing
Functional logic languageshave a syntax like a purely functional language but use narrowing as operational semantics. We present the functional logic language Higher Order Babel which provides higher order unification for parameter passing and solving equations. When searching for a function which solves an equation “polynomial functions” as well as defined functions are taken into account. In ...
متن کامل